El estudio de Android dio el error:
Execution failed for task ':app:kaptDebugKotlin'. > A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution > java.lang.reflect.InvocationTargetException (no error message)Quiero agregar en mi proyecto Kotlin Coroutines y usarlo con la base de datos Room. Pero después de agregar todas las bibliotecas, recibí este error. Esta es toda la información del compilador.
Lo identifiqué, esto se debe a la anotación @Database. Si eliminé esta anotación, el error no aparece, pero Room tampoco funciona.
Mi archivo gradle:
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' //apply plugin: 'androidx.navigation.safeargs' kotlin { experimental { coroutines 'enable' } } android { compileSdkVersion 29 defaultConfig { applicationId "com.bestcred.coursetthree" minSdkVersion 21 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //vectorDrawables.useSupportLibrary = true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } // Enables data binding. buildFeatures { dataBinding true } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // Support libraries implementation "androidx.appcompat:appcompat:1.2.0" implementation 'com.google.android.material:material:1.2.0' implementation "androidx.fragment:fragment:1.2.5" implementation "androidx.constraintlayout:constraintlayout:2.0.0" // Android KTX implementation 'androidx.core:core-ktx:1.3.1' // Room and Lifecycle dependencies implementation "androidx.room:room-runtime:$room_version" implementation 'androidx.legacy:legacy-support-v4:1.0.0' kapt "android.arch.persistence.room:compiler:$room_version" // Kotlin Extensions and Coroutines support for Room implementation "androidx.room:room-ktx:$room_version" // Coroutines implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutine_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutine_version" } kotlin_version = "1.4.0" room_version = "2.2.5" coroutine_version = '1.3.9' Actualizo la versión de Room y agrego Kotlin Coroutines. ¿Cuál es el problema? 
Tuve que actualizar Room a la última 2.2.5 y se resolvió el problema.
Necesitas cambiar:
kapt "android.arch.persistence.room:compiler:$room_version"para
kapt "androidx.room:room-compiler:$room_version"La interfaz de usuario de Android Studio solo ocultaba el error...
cuando ocurrió el error, resaltó el elemento en la vista de lista y mostró un mensaje inútil en la vista de terminal. 
para encontrar el error real, seleccione el elemento raíz en la vista de lista para que Android Studio muestre el resultado de compilación completo en la vista de terminal, luego desplácese para encontrar el error. 
Esta excepción ocurre cuando ha cometido algún error en la base de datos Room o Doa o la clase de entidad, por ejemplo, cometí errores en la clase de entidad.
por lo tanto, sugeriría verificar cuidadosamente la entidad, el dao o la clase de la base de datos si importó la dependencia correcta.
@Entity(tableName = "user_table") data class User( val firstName: String, val lastName: String, val age: Int ) { @PrimaryKey(autoGenerate = true) var id: Int = 0 //**do not made it val** }Me había enfrentado al mismo problema. El problema era que estaba usando funciones de suspensión corrutina en el DAO de la sala y no había implementado las implementaciones necesarias. Lo siguiente funcionó para mí, intente reemplazar las dependencias de Room existentes con:
def room_version = "2.2.5" //Use latest version "androidx.room:room-runtime:$room_version" "androidx.room:room-compiler:$room_version" "androidx.room:room-ktx:$room_version"Si lo anterior no funciona, vaya a Analizar->Inspeccionar código y verifique si hay advertencias o errores de descifrado de códigos (específicamente en la sala)
En mi caso, le di el tipo de argumento de la función insertAll() y delete() como entidad de su base de datos, el error resuelto
@Dao interface NotesDao { @Insert fun insertAll(INotesEntity: NotesEntity) // argument type should be entity of your database @Delete fun delete(DNotesEntity: NotesEntity) // argument type should be entity of your database }Asegúrese de incluir todas las entidades dentro de la anotación de la base de datos.
Este problema ocurrió al cambiar el nombre del paquete . Arrastré y solté todos los archivos de un paquete a otro.
Objectbox creó los archivos de cursor y los archivos de entidad (archivos generados automáticamente)
Tuve que borrarlos y reconstruirlos.
Se comió 1 hora seguida -_-
Lo único que funcionó para mí -
En gradle.properties reemplace la siguiente línea:
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8por
org.gradle.jvmargs=--illegal-access=permitIntente agregar esto en su archivo app/build.gradle y ejecute el programa nuevamente. Me ayudó a encontrar la verdadera causa del problema.
kapt { correctErrorTypes true }Asegúrese de que Gradle JDK esté configurado en la versión correcta (estaba configurado en JDK 8 a pesar de que he estado usando JDK 11 durante bastante tiempo).
Abra Preferencias -> Herramientas de compilación -> Gradle -> Establecer Gradle JDK.
Actualice el JDK de Gradle a Java 11.
Si bien es bastante extraño, tenía onDestory definido dos veces en un archivo y provoqué este error al intentar ejecutar la aplicación, una vez que eliminé uno de ellos, todo funcionó normalmente.
Puede que llegue tarde, pero solo la siguiente solución funcionó para mí.
Abra el archivo gradle.properties en el estudio de Android.
Agregue las siguientes líneas:
kapt.use.worker.api=false kapt.incremental.apt=falseLimpiar y reconstruir la aplicación.
Hecho
Actualicé la versión de Room de 2.2.5 a 2.3.0 o a la versión actual en el archivo de script build.gradle. La construcción fue exitosa.
Hoy me enfrenté a este error. En mi caso, tengo Java 11 y Java 16 instalados en mi computadora portátil, y Java 16 era el predeterminado. Pero el gradle en mi proyecto usa java 11 para construirlo. Así que cuando invoqué
$ gradle builddesde mi terminal, usaría Java 16 y, por lo tanto, la compilación falló. Lo sé, la solución adecuada es hacer que mi código sea compatible con Java 16, pero por ahora, le digo explícitamente a Gradle que use Java 11 con el siguiente comando:
$ gradle build -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 # warning: use te path to your java 11Dado que es un comando grande, lo guardé en un archivo de secuencia de comandos y, por lo tanto, simplemente ejecutar la secuencia de comandos me resuelve el problema.
Actualmente tengo este error en m1 Mac con Room versión 2.3.0 .
Lo arreglé cambiándolo a 2.4.0-alpha04 .
Esto ha sido informado a Google ( seguidor de problemas ).
Desarrollo en Apple Silicon Macbook M1.
use room_version 2.2.4, falla en 2.2.5
def room_version = "2.2.4" implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" implementation "androidx.room:room-ktx:$room_version" testImplementation "androidx.room:room-testing:$room_version"